/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package org.cellstore.gui;

import java.beans.PropertyVetoException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JInternalFrame;
import org.cellstore.app.Etiqueta;
import org.cellstore.dao.TbDominioDao;
import org.cellstore.dao.TbDominioDaoImp;
import org.cellstore.entidad.TbDominio;
import org.palituxd.tools.mensaje.Mensaje;

/**
 *
 * @author PPATOCHE
 */
public class MDIPrincipal extends javax.swing.JFrame {

    /**
     * Creates new form MDIPrincipal
     */
    public MDIPrincipal() {
        initComponents();
        situarStatusBar();
    }

    private void situarStatusBar() {
    }

    /**
     * This method is called from within the constructor to initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is always
     * regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        pEstado1 = new org.cellstore.gui.PEstado();
        desktopPane = new javax.swing.JDesktopPane();
        menuBar = new javax.swing.JMenuBar();
        mArchivo = new javax.swing.JMenu();
        openMenuItem = new javax.swing.JMenuItem();
        saveMenuItem = new javax.swing.JMenuItem();
        saveAsMenuItem = new javax.swing.JMenuItem();
        exitMenuItem = new javax.swing.JMenuItem();
        mEdicion = new javax.swing.JMenu();
        cutMenuItem = new javax.swing.JMenuItem();
        copyMenuItem = new javax.swing.JMenuItem();
        pasteMenuItem = new javax.swing.JMenuItem();
        jMenu2 = new javax.swing.JMenu();
        jMenuItem1 = new javax.swing.JMenuItem();
        mAdministracion = new javax.swing.JMenu();
        miLocal = new javax.swing.JMenuItem();
        mMantenimiento = new javax.swing.JMenu();
        miProducto = new javax.swing.JMenuItem();
        miServicio = new javax.swing.JMenuItem();
        miCategoria = new javax.swing.JMenuItem();
        miMarca = new javax.swing.JMenuItem();
        miModelo = new javax.swing.JMenuItem();
        miParametro = new javax.swing.JMenuItem();
        miDominio = new javax.swing.JMenuItem();
        mEntidad = new javax.swing.JMenu();
        miEntidad = new javax.swing.JMenuItem();
        miUsuario = new javax.swing.JMenuItem();
        miVendedor = new javax.swing.JMenuItem();
        miAsociado = new javax.swing.JMenuItem();
        mComision = new javax.swing.JMenu();
        mActualizaComision = new javax.swing.JMenuItem();
        jMenuItem2 = new javax.swing.JMenuItem();
        mOperaciones = new javax.swing.JMenu();
        miVenta = new javax.swing.JMenuItem();
        miDevolucion = new javax.swing.JMenuItem();
        jMenuItem7 = new javax.swing.JMenuItem();
        mReportes = new javax.swing.JMenu();
        miReporteVenta = new javax.swing.JMenuItem();
        miReporteVentaPendiente2 = new javax.swing.JMenuItem();
        miReporteDevolucion = new javax.swing.JMenuItem();
        miReporteMovimiento = new javax.swing.JMenuItem();
        helpMenu = new javax.swing.JMenu();
        contentMenuItem = new javax.swing.JMenuItem();
        aboutMenuItem = new javax.swing.JMenuItem();

        setDefaultCloseOperation(javax.swing.WindowConstants.DO_NOTHING_ON_CLOSE);
        setTitle(Etiqueta.getEtiqueta("MDI.titulo"));
        setExtendedState(javax.swing.JFrame.MAXIMIZED_BOTH);
        setPreferredSize(new java.awt.Dimension(400, 300));
        addWindowListener(new java.awt.event.WindowAdapter() {
            public void windowClosing(java.awt.event.WindowEvent evt) {
                formWindowClosing(evt);
            }
        });
        getContentPane().add(pEstado1, java.awt.BorderLayout.SOUTH);

        desktopPane.setDoubleBuffered(true);
        getContentPane().add(desktopPane, java.awt.BorderLayout.CENTER);

        mArchivo.setMnemonic('A');
        mArchivo.setText("Archivo");

        openMenuItem.setMnemonic('o');
        openMenuItem.setText("Open");
        mArchivo.add(openMenuItem);

        saveMenuItem.setMnemonic('s');
        saveMenuItem.setText("Save");
        mArchivo.add(saveMenuItem);

        saveAsMenuItem.setMnemonic('a');
        saveAsMenuItem.setText("Save As ...");
        saveAsMenuItem.setDisplayedMnemonicIndex(5);
        mArchivo.add(saveAsMenuItem);

        exitMenuItem.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_S, java.awt.event.InputEvent.CTRL_MASK));
        exitMenuItem.setMnemonic('S');
        exitMenuItem.setText("Salir");
        exitMenuItem.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                exitMenuItemActionPerformed(evt);
            }
        });
        mArchivo.add(exitMenuItem);

        menuBar.add(mArchivo);

        mEdicion.setMnemonic('E');
        mEdicion.setText("Edición");

        cutMenuItem.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_X, java.awt.event.InputEvent.CTRL_MASK));
        cutMenuItem.setMnemonic('t');
        cutMenuItem.setText("Cut");
        mEdicion.add(cutMenuItem);

        copyMenuItem.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_C, java.awt.event.InputEvent.CTRL_MASK));
        copyMenuItem.setMnemonic('y');
        copyMenuItem.setText("Copy");
        mEdicion.add(copyMenuItem);

        pasteMenuItem.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_V, java.awt.event.InputEvent.CTRL_MASK));
        pasteMenuItem.setMnemonic('p');
        pasteMenuItem.setText("Paste");
        mEdicion.add(pasteMenuItem);

        menuBar.add(mEdicion);

        jMenu2.setText("Seguridad");

        jMenuItem1.setText("jMenuItem1");
        jMenu2.add(jMenuItem1);

        menuBar.add(jMenu2);

        mAdministracion.setText("Administracion");

        miLocal.setText("Local");
        miLocal.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                miLocalActionPerformed(evt);
            }
        });
        mAdministracion.add(miLocal);

        mMantenimiento.setText("Mantenimiento");

        miProducto.setText("Productos");
        miProducto.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                miProductoActionPerformed(evt);
            }
        });
        mMantenimiento.add(miProducto);

        miServicio.setText("Servicios");
        miServicio.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                miServicioActionPerformed(evt);
            }
        });
        mMantenimiento.add(miServicio);

        miCategoria.setText("Categorías");
        miCategoria.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                miCategoriaActionPerformed(evt);
            }
        });
        mMantenimiento.add(miCategoria);

        miMarca.setText("Marcas");
        miMarca.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                miMarcaActionPerformed(evt);
            }
        });
        mMantenimiento.add(miMarca);

        miModelo.setText("Modelos");
        miModelo.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                miModeloActionPerformed(evt);
            }
        });
        mMantenimiento.add(miModelo);

        miParametro.setText("Parametros");
        miParametro.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                miParametroActionPerformed(evt);
            }
        });
        mMantenimiento.add(miParametro);

        miDominio.setText("Dominio");
        miDominio.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                miDominioActionPerformed(evt);
            }
        });
        mMantenimiento.add(miDominio);

        mAdministracion.add(mMantenimiento);

        mEntidad.setText("Entidades");

        miEntidad.setText("Entidades");
        miEntidad.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                miEntidadActionPerformed(evt);
            }
        });
        mEntidad.add(miEntidad);

        miUsuario.setText("Usuarios");
        mEntidad.add(miUsuario);

        miVendedor.setText("Vendedores");
        mEntidad.add(miVendedor);

        miAsociado.setText("Asociados");
        mEntidad.add(miAsociado);

        mAdministracion.add(mEntidad);

        mComision.setText("Comisiones");

        mActualizaComision.setText("Actualizar Comisiones");
        mComision.add(mActualizaComision);

        jMenuItem2.setText("Pagar Comisiones");
        mComision.add(jMenuItem2);

        mAdministracion.add(mComision);

        menuBar.add(mAdministracion);

        mOperaciones.setText("Operaciones");

        miVenta.setText("Venta");
        mOperaciones.add(miVenta);

        miDevolucion.setText("Devolución");
        mOperaciones.add(miDevolucion);

        jMenuItem7.setText("Movimiento Mercadería");
        mOperaciones.add(jMenuItem7);

        menuBar.add(mOperaciones);

        mReportes.setText("Reportes");

        miReporteVenta.setText("Ventas");
        mReportes.add(miReporteVenta);

        miReporteVentaPendiente2.setText("Ventas Pendientes");
        mReportes.add(miReporteVentaPendiente2);

        miReporteDevolucion.setText("Devoluciones");
        mReportes.add(miReporteDevolucion);

        miReporteMovimiento.setText("Movimiento Mercadería");
        mReportes.add(miReporteMovimiento);

        menuBar.add(mReportes);

        helpMenu.setMnemonic('h');
        helpMenu.setText("Ayuda");

        contentMenuItem.setMnemonic('c');
        contentMenuItem.setText("Contents");
        helpMenu.add(contentMenuItem);

        aboutMenuItem.setMnemonic('a');
        aboutMenuItem.setText("About");
        helpMenu.add(aboutMenuItem);

        menuBar.add(helpMenu);

        setJMenuBar(menuBar);
    }// </editor-fold>//GEN-END:initComponents

    private void exitMenuItemActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_exitMenuItemActionPerformed
        salir();
    }//GEN-LAST:event_exitMenuItemActionPerformed

    private void miLocalActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_miLocalActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_miLocalActionPerformed

    private void miServicioActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_miServicioActionPerformed
//        if (iFMantServicio == null) {
//            iFMantServicio = new IFMantServicio();
//            desktopPane.add(iFMantServicio);
//        } else {
//            openIF(iFMantServicio);
//        }
//        iFMantServicio.show();
    }//GEN-LAST:event_miServicioActionPerformed

    private void miMarcaActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_miMarcaActionPerformed
//        if (iFMantMarca == null) {
//            iFMantMarca = new IFMantMarca();
//            desktopPane.add(iFMantMarca);
//        } else {
//            openIF(iFMantMarca);
//        }
//        iFMantMarca.show();
    }//GEN-LAST:event_miMarcaActionPerformed

    private void miEntidadActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_miEntidadActionPerformed
        
    }//GEN-LAST:event_miEntidadActionPerformed

    private void formWindowClosing(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_formWindowClosing
        salir();
    }//GEN-LAST:event_formWindowClosing

    private void miCategoriaActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_miCategoriaActionPerformed
//        if (iFMantCategoria == null) {
//            iFMantCategoria = new IFMantCategoria();
//            desktopPane.add(iFMantCategoria);
//        } else {
//            openIF(iFMantCategoria);
//        }
//        iFMantCategoria.show();
    }//GEN-LAST:event_miCategoriaActionPerformed

    private void miModeloActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_miModeloActionPerformed
//        if (iFMantModelo == null) {
//            iFMantModelo = new IFMantModelo();
//            desktopPane.add(iFMantModelo);
//        } else {
//            openIF(iFMantModelo);
//        }
//        iFMantModelo.show();
    }//GEN-LAST:event_miModeloActionPerformed

    private void miProductoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_miProductoActionPerformed
//        if (iFMantProducto == null) {
//            iFMantProducto = new IFMantProducto();
//            desktopPane.add(iFMantProducto);
//        } else {
//            openIF(iFMantProducto);
//        }
//        iFMantProducto.show();
    }//GEN-LAST:event_miProductoActionPerformed

    private void miParametroActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_miParametroActionPerformed
//        if (iFMantParametro == null) {
//            iFMantParametro = new IFMantParametro();
//            desktopPane.add(iFMantParametro);
//        } else {
//            openIF(iFMantParametro);
//        }
//        iFMantParametro.show();
    }//GEN-LAST:event_miParametroActionPerformed

    private void miDominioActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_miDominioActionPerformed
        System.out.println(iFMTbDominio);
        if (iFMTbDominio == null) {
            iFMTbDominio = new IFMTbDominio() {
            };
            desktopPane.add(iFMTbDominio);            
        } else {
            openIF(iFMTbDominio);
        }
        iFMTbDominio.show();
    }//GEN-LAST:event_miDominioActionPerformed

    private void openIF(JInternalFrame jif) {        
        if (jif.isClosed() || jif.isIcon()) {
            try {
                jif.setIcon(false);
                jif.setClosed(false);
                jif.setVisible(true);
            } catch (PropertyVetoException ex) {
                Logger.getLogger(MDIPrincipal.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
    }

    private void salir() {
        boolean confirmacion = Mensaje.confirmacion(this, "DESEA SALIR", this.getTitle());
        if (confirmacion) {
            System.exit(0);
        }
    }
    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JMenuItem aboutMenuItem;
    private javax.swing.JMenuItem contentMenuItem;
    private javax.swing.JMenuItem copyMenuItem;
    private javax.swing.JMenuItem cutMenuItem;
    private javax.swing.JDesktopPane desktopPane;
    private javax.swing.JMenuItem exitMenuItem;
    private javax.swing.JMenu helpMenu;
    private javax.swing.JMenu jMenu2;
    private javax.swing.JMenuItem jMenuItem1;
    private javax.swing.JMenuItem jMenuItem2;
    private javax.swing.JMenuItem jMenuItem7;
    private javax.swing.JMenuItem mActualizaComision;
    private javax.swing.JMenu mAdministracion;
    private javax.swing.JMenu mArchivo;
    private javax.swing.JMenu mComision;
    private javax.swing.JMenu mEdicion;
    private javax.swing.JMenu mEntidad;
    private javax.swing.JMenu mMantenimiento;
    private javax.swing.JMenu mOperaciones;
    private javax.swing.JMenu mReportes;
    private javax.swing.JMenuBar menuBar;
    private javax.swing.JMenuItem miAsociado;
    private javax.swing.JMenuItem miCategoria;
    private javax.swing.JMenuItem miDevolucion;
    private javax.swing.JMenuItem miDominio;
    private javax.swing.JMenuItem miEntidad;
    private javax.swing.JMenuItem miLocal;
    private javax.swing.JMenuItem miMarca;
    private javax.swing.JMenuItem miModelo;
    private javax.swing.JMenuItem miParametro;
    private javax.swing.JMenuItem miProducto;
    private javax.swing.JMenuItem miReporteDevolucion;
    private javax.swing.JMenuItem miReporteMovimiento;
    private javax.swing.JMenuItem miReporteVenta;
    private javax.swing.JMenuItem miReporteVentaPendiente2;
    private javax.swing.JMenuItem miServicio;
    private javax.swing.JMenuItem miUsuario;
    private javax.swing.JMenuItem miVendedor;
    private javax.swing.JMenuItem miVenta;
    private javax.swing.JMenuItem openMenuItem;
    private org.cellstore.gui.PEstado pEstado1;
    private javax.swing.JMenuItem pasteMenuItem;
    private javax.swing.JMenuItem saveAsMenuItem;
    private javax.swing.JMenuItem saveMenuItem;
    // End of variables declaration//GEN-END:variables
    private IFMTbDominio iFMTbDominio;
//    private IFMantServicio iFMantServicio;
//    private IFMantProducto iFMantProducto;
//    private IFMantCategoria iFMantCategoria;
//    private IFMantMarca iFMantMarca;
//    private IFMantModelo iFMantModelo;
//    private IFMantParametro iFMantParametro;
}
